package com.jellyleo.activiti.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName ACT_RU_TASK
 */
@TableName(value ="ACT_RU_TASK")
@Data
public class ActRuTask implements Serializable {
    /**
     * 
     */
    @TableId
    private String id;

    /**
     * 
     */
    private Integer rev;

    /**
     * 
     */
    private String executionId;

    /**
     * 
     */
    private String procInstId;

    /**
     * 
     */
    private String procDefId;

    /**
     * 
     */
    private String name;

    /**
     * 
     */
    private String parentTaskId;

    /**
     * 
     */
    private String description;

    /**
     * 
     */
    private String taskDefKey;

    /**
     * 
     */
    private String owner;

    /**
     * 
     */
    private String assignee;

    /**
     * 
     */
    private String delegation;

    /**
     * 
     */
    private Integer priority;

    /**
     * 
     */
    private Date createTime;

    /**
     * 
     */
    private Date dueDate;

    /**
     * 
     */
    private String category;

    /**
     * 
     */
    private Integer suspensionState;

    /**
     * 
     */
    private String tenantId;

    /**
     * 
     */
    private String formKey;

    /**
     * 
     */
    private Date claimTime;
    private String businessKey;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ActRuTask other = (ActRuTask) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getRev() == null ? other.getRev() == null : this.getRev().equals(other.getRev()))
            && (this.getExecutionId() == null ? other.getExecutionId() == null : this.getExecutionId().equals(other.getExecutionId()))
            && (this.getProcInstId() == null ? other.getProcInstId() == null : this.getProcInstId().equals(other.getProcInstId()))
            && (this.getProcDefId() == null ? other.getProcDefId() == null : this.getProcDefId().equals(other.getProcDefId()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getParentTaskId() == null ? other.getParentTaskId() == null : this.getParentTaskId().equals(other.getParentTaskId()))
            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
            && (this.getTaskDefKey() == null ? other.getTaskDefKey() == null : this.getTaskDefKey().equals(other.getTaskDefKey()))
            && (this.getOwner() == null ? other.getOwner() == null : this.getOwner().equals(other.getOwner()))
            && (this.getAssignee() == null ? other.getAssignee() == null : this.getAssignee().equals(other.getAssignee()))
            && (this.getDelegation() == null ? other.getDelegation() == null : this.getDelegation().equals(other.getDelegation()))
            && (this.getPriority() == null ? other.getPriority() == null : this.getPriority().equals(other.getPriority()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getDueDate() == null ? other.getDueDate() == null : this.getDueDate().equals(other.getDueDate()))
            && (this.getCategory() == null ? other.getCategory() == null : this.getCategory().equals(other.getCategory()))
            && (this.getSuspensionState() == null ? other.getSuspensionState() == null : this.getSuspensionState().equals(other.getSuspensionState()))
            && (this.getTenantId() == null ? other.getTenantId() == null : this.getTenantId().equals(other.getTenantId()))
            && (this.getFormKey() == null ? other.getFormKey() == null : this.getFormKey().equals(other.getFormKey()))
            && (this.getClaimTime() == null ? other.getClaimTime() == null : this.getClaimTime().equals(other.getClaimTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getRev() == null) ? 0 : getRev().hashCode());
        result = prime * result + ((getExecutionId() == null) ? 0 : getExecutionId().hashCode());
        result = prime * result + ((getProcInstId() == null) ? 0 : getProcInstId().hashCode());
        result = prime * result + ((getProcDefId() == null) ? 0 : getProcDefId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getParentTaskId() == null) ? 0 : getParentTaskId().hashCode());
        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
        result = prime * result + ((getTaskDefKey() == null) ? 0 : getTaskDefKey().hashCode());
        result = prime * result + ((getOwner() == null) ? 0 : getOwner().hashCode());
        result = prime * result + ((getAssignee() == null) ? 0 : getAssignee().hashCode());
        result = prime * result + ((getDelegation() == null) ? 0 : getDelegation().hashCode());
        result = prime * result + ((getPriority() == null) ? 0 : getPriority().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getDueDate() == null) ? 0 : getDueDate().hashCode());
        result = prime * result + ((getCategory() == null) ? 0 : getCategory().hashCode());
        result = prime * result + ((getSuspensionState() == null) ? 0 : getSuspensionState().hashCode());
        result = prime * result + ((getTenantId() == null) ? 0 : getTenantId().hashCode());
        result = prime * result + ((getFormKey() == null) ? 0 : getFormKey().hashCode());
        result = prime * result + ((getClaimTime() == null) ? 0 : getClaimTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", rev=").append(rev);
        sb.append(", executionId=").append(executionId);
        sb.append(", procInstId=").append(procInstId);
        sb.append(", procDefId=").append(procDefId);
        sb.append(", name=").append(name);
        sb.append(", parentTaskId=").append(parentTaskId);
        sb.append(", description=").append(description);
        sb.append(", taskDefKey=").append(taskDefKey);
        sb.append(", owner=").append(owner);
        sb.append(", assignee=").append(assignee);
        sb.append(", delegation=").append(delegation);
        sb.append(", priority=").append(priority);
        sb.append(", createTime=").append(createTime);
        sb.append(", dueDate=").append(dueDate);
        sb.append(", category=").append(category);
        sb.append(", suspensionState=").append(suspensionState);
        sb.append(", tenantId=").append(tenantId);
        sb.append(", formKey=").append(formKey);
        sb.append(", claimTime=").append(claimTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}